Embodiments of the present invention generally relate to policy enforcement. More specifically, embodiments of the present invention relate to optimization of policies enforced on communications and/or requests for resources.
A policy can generally be defined as any combination of rules where each rule is a combination of one or more conditions and one or more actions to be performed upon satisfaction of the associated condition. Policies can be applied in numerous different contexts to achieve a wide variety of outcomes or effects. For example, one or more policies or sets of policies can be applied to electronic communications of different types to affect the routing or other handling of the communication.
In general policies are set and used to determine the terms under which a resource is used or a task is performed. Policies can be set to determine any of a number of aspects of various applications including but not limited to messaging or collaboration. For example, a policy can be used for access control (AAA), charging or billing, defining a Service Level Agreement (SLA), defining quality of services, defining priorities, defining preferences, defining privacy/filtering, defining conditions of usage, logging, etc.
However, as the complexity of the policy increases, potential inefficiencies become a greater concern. That is, as the size of the policies grows in terms of the number of rules and/or conditions, the inefficiencies in terms of how the policy is defined and/or applied become more likely and/or significant. However, there is currently no way to optimize or improve the efficiency of these policies. Rather, policies are typically statically defined only to achieve the desired outcome for a particular condition or set of conditions. Hence, there is a need in the art for improved methods and systems for optimizing or improving the efficiency of policy enforcement.